<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
                // 异步编程的解决方案
        // Promise 相当于一个容器，保存着未来才会结束的事件(异步操作)的一个结果
        // 各种异步操作都可以使用同样的方法处理，封装调用Axios的方法就是用的是Promise实现的。
    //特点：1.对象的状态不受外界影响，处理异步操作 三个状态Pending(进行) Resolved(成功)  Rejected(失败)
//			 2.一旦状态发生改变，就不会在变，任何时候都可以得到这个结果
        const pm = new Promise((resolved,rejected)=>{
            let obj = {
                code:201,
                data:{
                    name:"张三",
                    age:10
                },
                err:"获取数据失败"
            }

            setTimeout(()=>{
                if(obj.code==200){
                    resolved(obj.data)
                }else{
                    rejected(obj.err)
                }
            },1000)

        })

        pm.then(res=>{
            console.log(res);
        }).catch(err=>{
            console.log(err);
        })

    </script>
</body>
</html>